Advantages of Functional Programming